﻿Imports System.Text.RegularExpressions
Imports System.Configuration
Public Class frmCongTyMoiGioi

    Public username As String = "BoCau"
    Dim ngaymacdinh As String = ""
    Private Sub gbTimKiem_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gbTimKiem.Enter

    End Sub

    Private Sub TrangChủToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrangChủToolStripMenuItem.Click
        Me.Close()
    End Sub
    Private Sub frmLoad()
        Try

     
        Dim dt As DataTable = QuanBUS.GetAllQuanBUS()
        cbQuan.DataSource = dt
        cbQuan.DisplayMember = "TenQuan"
        cbQuan.ValueMember = "MaQuan"
        cbTimKiemQuan.DataSource = dt
        cbTimKiemQuan.DisplayMember = "TenQuan"
        cbTimKiemQuan.ValueMember = "MaQuan"
        dgvCongTy.DataSource = CongTyBUS.GetAllCongTyBUS()

            ngaymacdinh = AppSettingsWriter.GetValue("NgayTiepNhanCongTyMoiGioi")

        If (ngaymacdinh = 1) Then
            Dim d As Date = New Date(Date.Now.Year, Date.Now.Month, Date.Now.Day + 1)
            dpNgayTiepNhan.Text = d.ToString()
        End If
        Catch ex As Exception
            MessageBox.Show("Kết nối bị lỗi bạn vui lòng kiểm tra lại cơ sở dữ liệu và server")
        End Try


    End Sub
    Private Sub frmCongTyMoiGioi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        frmLoad()
    End Sub
    Private Sub ThêmToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ThêmToolStripMenuItem.Click

        Dim match As String = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"

        Dim reg As Regex = New Regex(match)
        Dim t As Long = 0
        If txtDiaChi.Text = "" Or txtTenCongTy.Text = "" Or txtSoDienThoai.Text = "" Or txtEmail.Text = "" Or Long.TryParse(txtSoDienThoai.Text, t) = False Or (reg.IsMatch(txtEmail.Text) = False And txtEmail.Text <> "" Or txtSoDienThoai.TextLength < 7 Or txtSoDienThoai.TextLength > 10) Then
            MessageBox.Show("Tên công ty, Địa chỉ,Số điện thoại , Email không được để trống, hoặc bạn đã nhập chúng nhưng không đúng định dạng")
        Else
            Try

                Dim dt As DataTable = CongTyBUS.GetAllCongTyBUS()
                Dim sl As Integer = AppSettingsWriter.GetValue("SoCongTyToiDaMoiQuan")
                If (dt.Rows.Count >= sl) Then
                    MessageBox.Show("Số công ty tối đa mỗi quận đã đủ bạn không thể thêm tiếp")
                    Return
                End If
                Dim ct As CongTyDTO = New CongTyDTO()
                ct.TenCongTy = txtTenCongTy.Text
                ct.DienThoai = txtSoDienThoai.Text
                ct.MaQuan = Integer.Parse(cbQuan.SelectedValue.ToString())
                ct.Email = txtEmail.Text
                ct.DiaChi = txtDiaChi.Text
                ct.NgayTiepNhan = dpNgayTiepNhan.Value.Date
                CongTyBUS.InsertCongTyBUS(ct)
                dgvCongTy.DataSource = CongTyBUS.GetAllCongTyBUS()
            Catch ex As Exception
                MessageBox.Show("Thêm không thành công, bạn vui lòng kiểm tra lại cơ sở dữ liệu và kết nối")
            End Try
        End If

    End Sub


    Private Sub XóaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles XóaToolStripMenuItem.Click
        Try

     
        If (dgvCongTy.SelectedRows.Count > 0) Then

            For i As Integer = 0 To (dgvCongTy.SelectedRows.Count - 1)
                Try
                    CongTyBUS.DeleteCongTyBUS(Integer.Parse(dgvCongTy.SelectedRows(i).Cells(0).Value.ToString()))
                Catch ex As Exception
                    MessageBox.Show("Công ty đang được tham chiếu tới")
                End Try


            Next
            dgvCongTy.DataSource = CongTyBUS.GetAllCongTyBUS()
        Else
            MessageBox.Show("Bạn chưa chọn dòng để xóa")

        End If
        Catch ex As Exception
            MessageBox.Show("Kết nối bị lỗi bạn vui lòng kiểm tra lại cơ sở dữ liệu và server")
        End Try

    End Sub

    Private Sub CậpNhậtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CậpNhậtToolStripMenuItem.Click

        Dim match As String = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"

        Dim reg As Regex = New Regex(match)
        Dim t As Long = 0
        If txtDiaChi.Text = "" Or txtTenCongTy.Text = "" Or txtSoDienThoai.Text = "" Or txtEmail.Text = "" Or Long.TryParse(txtSoDienThoai.Text, t) = False Or (reg.IsMatch(txtEmail.Text) = False And txtEmail.Text <> "" Or txtSoDienThoai.TextLength < 7 Or txtSoDienThoai.TextLength > 10) Then
            MessageBox.Show("Tên công ty, Địa chỉ,Số điện thoại , Email không được để trống, hoặc bạn đã nhập chúng nhưng không đúng định dạng")
        Else
            If (dgvCongTy.SelectedRows.Count > 0 And dgvCongTy.SelectedRows.Count < 2) Then
                Try
                    Dim ct As CongTyDTO = New CongTyDTO()
                    ct.MaCongTy = Integer.Parse(txtMaCongTy.Text)
                    ct.TenCongTy = txtTenCongTy.Text

                    ct.DienThoai = txtSoDienThoai.Text
                    ct.MaQuan = Integer.Parse(cbQuan.SelectedValue.ToString())
                    ct.Email = txtEmail.Text
                    ct.DiaChi = txtDiaChi.Text
                    ct.NgayTiepNhan = dpNgayTiepNhan.Value.Date
                    CongTyBUS.UpdateCongTyBUS(ct)
                    dgvCongTy.DataSource = CongTyBUS.GetAllCongTyBUS()
                Catch ex As Exception
                    MessageBox.Show("Sửa không thành công, bạn vui lòng kiểm tra lại cơ sở dữ liệu và kết nối")
                End Try
            Else
                MessageBox.Show("Bạn đã chưa chọn dòng để sửa hoặc bạn đã chọn quá nhiều dòng")
            End If
        End If


       

    End Sub



    Private Sub dgvCongTy_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvCongTy.SelectionChanged
        If (dgvCongTy.SelectedRows.Count > 0 And dgvCongTy.SelectedRows.Count < 2) Then

            txtMaCongTy.Text = dgvCongTy.SelectedRows(0).Cells(0).Value.ToString()
            txtTenCongTy.Text = dgvCongTy.SelectedRows(0).Cells(1).Value.ToString()
            txtSoDienThoai.Text = dgvCongTy.SelectedRows(0).Cells(2).Value.ToString()
            cbQuan.SelectedValue = dgvCongTy.SelectedRows(0).Cells(3).Value.ToString()
            txtEmail.Text = dgvCongTy.SelectedRows(0).Cells(4).Value.ToString()
            txtDiaChi.Text = dgvCongTy.SelectedRows(0).Cells(5).Value.ToString()
            dpNgayTiepNhan.Value = dgvCongTy.SelectedRows(0).Cells(6).Value.ToString()
        End If
    End Sub


    Private Sub btnTimKiem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTimKiem.Click
        Try
            Dim tencongty As String = txtTimKiemTenCongTy.Text
            Dim loai As Integer = cbTimKiem.SelectedIndex

            Dim quan As Integer = Integer.Parse(cbTimKiemQuan.SelectedValue.ToString())
            dgvCongTy.DataSource = CongTyBUS.TimKiemCongTyBUS(tencongty, quan, loai)
        Catch ex As Exception
            MessageBox.Show("Kết nối bị lỗi bạn vui lòng kiểm tra lại cơ sở dữ liệu và server")
        End Try
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        Try
            dgvCongTy.DataSource = CongTyBUS.GetAllCongTyBUS()
        Catch ex As Exception
            MessageBox.Show("Kết nối bị lỗi bạn vui lòng kiểm tra lại cơ sở dữ liệu và server")
        End Try

    End Sub


    Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
        Dim frm As frmImportCongTyTuFileExce = New frmImportCongTyTuFileExce()
        frm.ShowDialog()
    End Sub
End Class